『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』では、TimesTenデータ・ストアへの接続を定義するDSNの作成方法について説明します。作成するDSNのタイプは、アプリケーションがデータ・ストアに、直接接続するか、クライアント接続するかによって異なります。データ・ストアに直接接続する場合は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のUNIXでのDSNの作成またはWindowsでのDSNの作成に関する項を参照してください。データ・ストアにクライアント接続する場合は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のWindowsでのクライアントDSNの作成および設定またはUNIXでのクライアントDSNの作成および設定に関する項を参照してください。
DSNを作成すると、アプリケーションでデータ・ストアに接続できます。この項では、JDBC直接ドライバまたはJDBCクライアント・ドライバを使用して、データ・ストアへのJDBC接続を作成する方法について説明します。
この項で説明する操作、level1.java
デモに基づいています。
TimesTenデータ・ストアへの接続の手順は、次のとおりです。
TimesTenデータ・ストアへの接続にTimesTen JDBCドライバを使用するには、このドライバをロードしておく必要があります。TimesTen JDBCドライバは、次のとおりです。
com.timesten.jdbc.TimesTenDriver
TimesTenへの接続にDriverManagerインタフェースを使用している場合、Class.forName()メソッドをコールして、TimesTen JDBCドライバをロードします。このメソッドによって、TimesTenドライバのインスタンスが作成され、ドライバ・マネージャに登録されます。
TimesTenDataSourceインタフェースを使用している場合、Class.forName()をコールする必要はありません。
TimesTenドライバを識別し、ロードするには、次のように入力します。
Class.forName("com.timesten.jdbc.TimesTenDriver");
注意: | TimesTen JDBCドライバがロードされていない場合は、アプリケーションでTimesTenデータ・ストアに接続しようとするとエラーが返されます。 |
JDBC接続を作成するには、データ・ストアのTimesTen接続URLを指定する必要があります。TimesTen接続URLの形式は、次のとおりです。
jdbc:timesten:{direct | client}:dsn=DSNname;[DSNattributes;]
たとえば、デモ・データ・ストアへの直接接続を行う場合、URLは次のようになります。
String URL = "jdbc:timesten:direct:dsn=demo";
接続URLに属性を指定して、DSNの記述に接続属性をプログラム的に設定または上書きすることができます。
たとえば、LockLevel DSN属性を1に設定するには、次のようにURLを作成します。
String URL = "jdbc:timesten:direct:dsn=demo;LockLevel=1";
URLを定義すると、DriverManager.getConnection()メソッドまたはTimesTenDataSource.getConnection()メソッドを使用して、TimesTenデータ・ストアに接続できます。
DriverManager.getConnection()メソッドを使用する場合は、ドライバURLを指定してデータ・ストアに接続します。
import java.sql.*;
Connection con = DriverManager.getConnection(URL);
DataSource.getConnection() メソッドを使用するには、まず DataSourceを作成してから、 DataSource.setUrl() メソッドを使用してURLを設定し、 DataSource.getConnection() を使用して接続します。
import com.timesten.jdbc.TimesTenDataSource;
TimesTenDataSource ds = new TimesTenDataSource();
ds.setUrl(URL);
con = ds.getConnection();
いずれかのメソッドが、データ・ストアへのハンドルとして使用できるConnection オブジェクト(この例ではcon )を返します。DriverManager.getConnection()の使用方法に関する例については level1
デモを、DataSource.getConnection()の使用方法に関する例については level2
およびlevel3
デモを参照してください。
TimesTenデータ・ストアへのアクセスを終了する場合は、Connection.close()メソッドをコールして、データ・ストアへの接続をクローズします。
エラーが発生した場合は、データ・ストアから切断する前に、トランザクションをロールバックできます。詳細は、「致命的ではないエラーの処理」および「失敗したトランザクションのロールバック」を参照してください。